package com.dao.impl;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import com.dao.TipoUsuarioDAO;
import com.modelo.TipoUsuario;

public class ITipoUsuarioDAO implements TipoUsuarioDAO {

	private JdbcTemplate jdbcTemplate;
	public int id;
	public TipoUsuario tipo_usuario;
	public ArrayList<TipoUsuario> tipos;
	@Autowired
	public void setJdbcTemplate(JdbcTemplate jdbcTemplate){
		this.jdbcTemplate = jdbcTemplate;
	}
	
	@Override
	public TipoUsuario buscarAdmin() {
		// TODO Auto-generated method stub
		try{
			String sql = "select * from tipo_usuario where nombre = ?";
			String nombre ="ADMINISTRADOR";
			tipo_usuario = (TipoUsuario)jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper(TipoUsuario.class),nombre.toUpperCase());
			System.out.println("ITipousuarioDAO buscarAdmin(): tipo_usuario id: "+tipo_usuario.getId());
		}catch(Exception e){
			System.out.println(e.getMessage());
		}
		return tipo_usuario;
	}

	@Override
	public TipoUsuario buscarUsuario() {
		try{
			String sql = "select * from tipo_usuario where nombre = ?";
			String nombre ="USUARIO";
			tipo_usuario = (TipoUsuario)jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper(TipoUsuario.class),nombre.toUpperCase());
		}catch(Exception e){
			System.out.println(e.getMessage());
		}
		return tipo_usuario;
	}

	@Override
	public List<TipoUsuario> mostrar() {
		tipos = new ArrayList<TipoUsuario>();
		try{
			String sql = "select * from tipo_usuario";
			tipos = (ArrayList<TipoUsuario>)jdbcTemplate.queryForList(sql, TipoUsuario.class);
		}catch(Exception e){
			System.out.println(e.getMessage());
		}
		return tipos;
	}

}
